#pragma once

#include "external/tinyxml.h"
#include "Textura.h"

/**
Esta clase controla las animaciones. Una animacion recibe en formato XML
la textura que hay que cargar, el alto / ancho de los frames, y la fila en 
la que se encuentra la animacion.
**/
class Animacion
	{
	private:
		int totalFrames;
		int totalFilas;
		int anchoFrame;
		int altoFrame;
		int frameActual;
		int fila;
		
		float duracion;
		float animTime;
		
		Textura *t;

		string nombre;
		
		bool reproduciondose;
	public:
		Animacion(TiXmlElement *animacion);
		
		void update(float speedFactor);		
		void render(float x, float y);
		void stop(){reproduciondose = false;}
		void play(){reproduciondose = true;}
		
		string &getNombre(){return nombre;}
		
		int getAnchoFrame(){return anchoFrame;}
		int getAltoFrame(){return altoFrame;}

		float getDuracion(){return duracion;}
		
		~Animacion(void);
	};
